/**
 * Created by Kunkka on 2016/12/6.
 */
/**
 * 解析url参数
 * @example "?id=12345&a=b"
 * @return Object {id: 12345, a: b}
 */
export function urlParse() {
    // 从url获取到参数字符串
    let url = window.location.search;
    let obj = {};
    // 正则规则
    let reg = /[?&][^?&]+=[^?&]+/g;
    // match() 方法可在字符串内检索指定的值，或找到一个或多个正则表达式的匹配。
    // 结果返回 ["?id=12345", "&a=b"]
    let arr = url.match(reg);
    if (arr) {
        arr.forEach((item) => {
            let tempArr = item.substring(1).split('=');
            // decodeURIComponent() 函数可对 dencodeURIComponent() 函数编码的 URI 进行解码。
            let key = decodeURIComponent(tempArr[0]);
            let val = decodeURIComponent(tempArr[1]);
            obj[key] = val;
        });
    }
    return obj;
}
// 使用方法，是 import {formatDateTime} from "../../../header/formatDateTime";后然後直接使用該方法
export function formatDateTime(timeStamp,str="年,月,日 ,时,分,秒") {
    if (timeStamp==0){
        return "";
    }
    if (timeStamp==""||timeStamp==undefined ||timeStamp==null){
        return "";
    }
    var date = new Date();

    if (timeStamp.length == 10){
        timeStamp = timeStamp * 1000
    }
    if (timeStamp<9999999999){
        timeStamp = timeStamp * 1000
    }
    date.setTime(timeStamp);
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    var second = date.getSeconds();
    minute = minute < 10 ? ('0' + minute) : minute;
    second = second < 10 ? ('0' + second) : second;
    var res = str.split(",");
    return y + res[0] + m + res[1] + d+res[2]+h+res[3]+minute+res[4]+second+res[5];
}
// 使用方法，是 import {formatDate} from "../../../header/formatDate";后然後直接使用該方法 date是時間對象
export function formatDate (date, fmt) {
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    let o = {
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds()
    };
    for (let k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
            let str = o[k] + '';
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
        }
    }
    return fmt;
};
function padLeftZero (str) {
    return ('00' + str).substr(str.length);
};
// 使用方法，是 import {formatSize} from "../../../header/formatSize";后然後直接使用該方法
export function formatSize(value) {
    if(null==value||value==''){
        return "0 Bytes";
    }
    var unitArr = ["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];
    var index=0;
    var srcsize = parseFloat(value);
    index=Math.floor(Math.log(srcsize)/Math.log(1024));
    var size =srcsize/Math.pow(1024,index);
    size=size.toFixed(2);//保留的小数位数
    return size+unitArr[index];
}

/**
 * 将秒返回为时间格式 如 3600 秒 返回为 1小时0分1秒
 * @param res
 * @returns {string}
 */
export function returnHMS(res) {
    return res+"秒（"+Math.floor(res/3600)+"小时"+Math.floor(res%3600/60)+"分"+res%3600%60+"秒）";
}


